<template>
  <div>
    <!--欢迎信息-->
    <h1 v-show="info.isFirst">Hello,Welcome to use github users search!</h1>
    <!--加载信息-->
    <h1 v-show="info.isLoading">Loading...</h1>
    <!--用户列表-->
    <div class="row" v-show="info.users">
      <div class="card" v-for="user in info.users" :key="user.id">
        <a :href="user.html_url" target="_blank">
          <img :src="user.avatar_url" style='width: 100px'/>
        </a>
        <p class="card-text">{{user.login}}</p>
      </div>
    </div>
    <!--错误信息-->
    <h1 v-show="info.error">{{info.error}}</h1>
  </div>
</template>

<script>
import pubsub from 'pubsub-js'
export default {
  name: "List",
  data(){
    return{
      info:{
        users:[],
        isFirst:true,
        isLoading:false,
        error:''
      }
    }
  },
  methods:{
    getUsersList(_,data){
      this.info = data
    }
  },
  mounted() {
    this.getId = pubsub.subscribe('getUsersList',this.getUsersList)
  },
  beforeDestroy() {
    pubsub.unsubscribe(this.getId)
  }
}
</script>

<style scoped>
  .album {
    min-height: 50rem; /* Can be removed; just added for demo purposes */
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-color: #f7f7f7;
  }

  .card {
    float: left;
    width: 33.333%;
    padding: .75rem;
    margin-bottom: 2rem;
    border: 1px solid #efefef;
    text-align: center;
  }

  .card > img {
    margin-bottom: .75rem;
    border-radius: 100px;
  }

  .card-text {
    font-size: 85%;
  }
</style>